@大麻哈
2年前 提问
1个回答

数据库双机架构模式有哪些

趣能一姐
2年前

数据库双机架构模式有以下这些:

  • 主备模式:主备模式是最简单的一种架构,有一个主数据库、一个备数据库。“备”代表备用,就是正常情况下一般不使用,只有在数据库出现故障时才启用。两个数据库提供数据存储服务,主数据库接收线上所有的读写请求,备数据库离线从主数据库实时拉取数据备份,一旦主数据库出现故障,会通过人工切换方式将业务请求转移到备数据库,主数据库下线,备数据库作为主数据库继续提供服务。

  • 主从模式:业务将写入及某些读取操作分发到主数据库,将另一部分读取操作分发到从数据库以缓解主数据库的读取压力,同时主数据库的任何改动都同步到从数据库。一般对于线上数据读写比较频繁的场景都可以采取此模式,这也是双机架构里使用较为广泛的一种模式。

  • 双机互探模式:将主从两台机器进行连接来实现状态传递,一旦从机发现主机出现故障就将本机提升为主机来提供服务。新加的状态传递可以包括丰富的信息,例如服务器的I/O、CPU负载、内存占用、连接数、磁盘占用等,但是这种模式需要额外进行较多的改造,以提取出这些信息。

  • 第三方探测模式:主从两台服务器仍然正常提供服务,它们之间不做任何状态传递,新添加一个第三方服务器进行状态探测,通过第三方服务主动向主/从数据库进行状态探测,并对两者的状态进行判断进而选择出一台服务器提升为主数据库,这种模式使得状态的探测更为独立,不用耦合到主从数据库中处理。

  • 双主模式:两个数据库互为主从,都对外提供读写,当客户端在访问时可以以某一种策略来连接后端的两台服务器,业务对后端任意数据库都可进行读写,这种模式最核心的问题在于数据库间的双向同步,很多数据库不支持,其典型问题就是数据双向同步中如何解决数据的循环复制问题,另外,数据复制的时延以及业务对数据时延的容忍度也是需要综合考量的。